#ifndef COLLISIONDATA_H
#define COLLISIONDATA_H

#include <vector>
#include "Data.h"
#include <SFML/Graphics.hpp>
#include "../enum.h"

namespace binge
{

class CollisionData : public Data
{
public:
    CollisionData(void);
    ~CollisionData(void);

    virtual void AddObject(int id);
    virtual void RemoveObject(int id);

    void SetType(int id, CollisionType type);
    CollisionType GetType(int id);

    void SetRectangle(int id, sf::Rect<float> rect);
    void SetLeft(int id, float left);
    void SetTop(int id, float top);
    void SetRight(int id, float right);
    void SetBottom(int id, float bottom);

    sf::Rect<float> GetRectangle(int id);
    float GetLeft(int id);
    float GetTop(int id);
    float GetRight(int id);
    float GetBottom(int id);

    void SetTile(int id, bool tile);
    bool IsTile(int id);

private:
    std::vector<CollisionType> objectsType;
    std::vector< sf::Rect<float> > objectsRectangle;
    std::vector<bool> objectsTile;
};

} // namespace

#endif // COLLISIONDATA_H
